/*
 * Licensed to the 南京汇海交通科技有限公司
 *
 * Copyright (c) 2025.
 * All rights reserved.
 *
 * 本软件属南京汇海交通科技有限公司所有，在未获得南京汇海交通科技有限公司正式授权情况下，任何企业和个人，不能获取、阅读、安装、传播本软件涉及的任何受知识产权保护的内容。
 */
package com.chframework.cloud.web.advice.basic;

import org.aopalliance.aop.Advice;
import org.aopalliance.intercept.MethodInterceptor;
import org.springframework.aop.Pointcut;
import org.springframework.aop.support.AbstractPointcutAdvisor;
import org.springframework.lang.NonNull;

/**
 * 基于注解的 自定义切点
 */
public class AnnotationPointcutAdvisor extends AbstractPointcutAdvisor {
    private Pointcut pointcut;
    private MethodInterceptor methodInterceptor;

    public AnnotationPointcutAdvisor(Pointcut pointcut, MethodInterceptor interceptor) {
        super();
        this.pointcut = pointcut;
        this.methodInterceptor = interceptor;
    }

    @NonNull
    @Override
    public Pointcut getPointcut() {
        return this.pointcut;
    }

    @NonNull
    @Override
    public Advice getAdvice() {
        return this.methodInterceptor;
    }

}
